#闭包可以维持数据的状态，延长变量的生命周期
#原来需要类、对象完成的工作，现在闭包也可以完成

def func(num):
	def func1(num1):
		print(num+num1);
	return func1;#返回的是里层的函数
		
#调用外层函数后，它生命周期已结束，但参数10并没有消失的，它保存在了闭包函数中		
f1=func(10);
f1(30);		

#当闭包传入可变数据对象，
mylist=[1,2,3];
def f1(obj):
	def f2():
		obj[0]+=1;
		print(obj);
	return f2;
	
f=f1(mylist);#可以理解为充满数据的容器
print('第一次调用:',end='');
f();		
print('第二次调用:',end='');
f();		
print('mylist:',mylist);
